Add Windows guest control and ConPTY - #431
Conversation
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
c5bc68c to
0d96de5
Compare
0d96de5 to
73fd1af
Compare
73fd1af to
7cd7a6e
Compare
0c1d3e4 to
1487012
Compare
1487012 to
96a8dd9
Compare
96a8dd9 to
38cabf0
Compare
38cabf0 to
0886125
Compare
1f60d0a to
95cf15f
Compare
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 89800a9. Configure here.
| } | ||
| exit, err := guest.ExecIntoInstance(probeCtx, dialer, guest.ExecOptions{ | ||
| Command: []string{"/bin/true"}, | ||
| Command: command, |
There was a problem hiding this comment.
Windows boot markers never persist
High Severity
hydrateBootMarkersFromLogs can promote Windows guests to Running by probing the guest agent and copying that timestamp into ProgramStartedAt, but persistBootMarkers still uses the Linux-only probe gate that requires ProgramStartedAt first. Windows has no program-start serial marker, so the probe never runs on the persist path, markers and the Initializing→Running phase never hit disk, and every later read re-probes without recording time-to-running.
Additional Locations (1)
Reviewed by Cursor Bugbot for commit 89800a9. Configure here.


summary
Runningwhen guest-agent readiness is provenlib/system/README.mdtargeted tests
Additional terminal signal-parity work is intentionally deferred. Long-running KVM and full CI suites were not run for this review pass.
Note
High Risk
Touches guest command execution, Windows token impersonation, vsock transport, and instance readiness/boot-state derivation. Bugs here can leak processes, run commands in the wrong session, or mis-mark Windows VMs as running.
Overview
Windows guests now run the same guest-agent gRPC protocol as Linux. The agent is cross-compiled as
hypeman-guest-agent.exe, installed as theHypemanGuestAgentLocalSystem service, and listens on virtio-win VioSock port 2222.Exec gains an explicit
sessionfield (systemvsdesktop). Desktop launches use the active interactive token onwinsta0\default; ConPTY is SYSTEM-only. Windows commands start suspended, join a kill-on-close Job Object, then resume so timeouts and RPC close tear down the whole process tree. Copy/stat/shutdown work on Windows; network reconfigure is unimplemented.Windows instances no longer skip the guest agent. Readiness probes use
cmd.exe, and a successful agent probe can mark both program-start and agent-ready so the VM becomesRunning. The exec API defaults empty commands tocmd.exeon Windows.CI now builds the Windows agent and runs a QEMU guest-control integration test against
/ci/windows/image-agent.qcow2.Reviewed by Cursor Bugbot for commit 89800a9. Bugbot is set up for automated code reviews on this repo. Configure here.